﻿using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataInfo;
using KenLib.BusinessManager;
using AjaxControlToolkit;
using System.IO; 

public partial class Org_frmO_TraineeBasicInfo : System.Web.UI.Page
{
    private const string ASCENDING = " ASC";
    private const string DESCENDING = " DESC";
    
    protected void Page_Load(object sender, EventArgs e)
    {
        ((Org_MasterPage)this.Master).HideLiArea("frmO_TraineeBasicInfo");
        ((Org_MasterPage)this.Master).changeTitle("技能実習生個人情報");

        if (Session["人コード"] == null)
        {
            Response.Redirect("../frmD_Login.aspx");
        }
        else if (Session["人コード"].ToString() == "")
        {
            Response.Redirect("../frmD_Login.aspx");
        }

        String id = "";
        try
        {
            id = Request.QueryString["id"] != null ? Request.QueryString.Get(0).ToString() : "";
            Session["社員ID"] = id;
        }
        catch (Exception ex) { }

        if (Session["社員ID"].ToString() == "")
        {
            Response.Redirect("../frm_MainMenu.aspx");
        }

        if (!IsPostBack)
        {
            int 社員ID = 0;
            try
            {
               社員ID = Int32.Parse(Session["社員ID"].ToString());
            }
            catch {
                Response.Redirect("../frm_MainMenu.aspx");
            }
            
            LoadData資格情報(社員ID);
            LoadData所属情報(社員ID);
            LoadData職種職務情報(社員ID);

            AppCode_Common.ShowEmtyGrid<基本情報>(grv_入退社雇用, 7, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_本人住所, 3, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_家族情報, 33, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_通勤, 11, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_語学力, 10, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<保有資格情報>(grv_保有資格, 5, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_業務スキル, 6, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_賞罰情報, 3, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_健康診断, 4, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_学歴, 13, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<会社履歴情報>(grv_会社履歴, 7, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_出入国歴, 9, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_研修履歴, 5, "データがありません。", "");
            AppCode_Common.ShowEmtyGrid<基本情報>(grv_考課情報, 3, "データがありません。", "");
            Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_基本情報')</script>");


            #region Code Hunglt
            基本情報Manager frm = new 基本情報Manager();
            DataTable dt = frm.SelectAll基本情報(社員ID);

			img_写真.ImageUrl = "../Images/Org_Staff/no-image.jpg";
            if (dt.Rows.Count > 0)
            {
                Dictionary<int, string> dictionary = new Dictionary<int, string>();
                dictionary.Add(0, "博士");
                dictionary.Add(1, "修士");
                dictionary.Add(2, "学士");
                dictionary.Add(3, "高専");
                dictionary.Add(4, "高校");
                dictionary.Add(5, "中学");

				if (dt.Rows[0]["写真"].ToString() != "")
				{
					string image_url = "/Images/Org_Staff/" + dt.Rows[0]["写真"].ToString();
					if (File.Exists(HttpContext.Current.Request.PhysicalApplicationPath + image_url))
						img_写真.ImageUrl = ".." + image_url;
				}
                lbl_氏名.Text = dt.Rows[0]["氏名"].ToString() != "" ? dt.Rows[0]["氏名"].ToString() : "－";
                lbl_フリガナ.Text = dt.Rows[0]["フリガナ氏名"].ToString() != "" ? dt.Rows[0]["フリガナ氏名"].ToString() : "－";
                lbl_性別.Text = Boolean.Parse(dt.Rows[0]["性別"].ToString()) == true ? "女" : "男";
                lbl_国籍.Text = dt.Rows[0]["国籍"].ToString() != "" ? dt.Rows[0]["国籍"].ToString() : "－";
                lbl_生年月日.Text = dt.Rows[0]["生年月日"].ToString().Length > 0 ? DateTime.Parse(dt.Rows[0]["生年月日"].ToString()).ToString("yyyy年MM月dd日") : "－";
                if(lbl_生年月日.Text != "－"){
                    int now = int.Parse(DateTime.Today.ToString("yyyyMMdd"));
                    int bDay = int.Parse(DateTime.Parse(dt.Rows[0]["生年月日"].ToString()).ToString("yyyyMMdd"));
                    string dif = (now - bDay).ToString();
                    lbl_年齢.Text = dif.Length > 4 ? dif.Substring(0, dif.Length - 4) : "－";
                }
                lbl_出生地.Text = dt.Rows[0]["出身地"].ToString() != "" ? dt.Rows[0]["出身地"].ToString() : "－";
                lbl_現資格.Text = dt.Rows[0]["現資格"].ToString() != "" ? dt.Rows[0]["現資格"].ToString() : "－";
                lbl_現部門名.Text = dt.Rows[0]["現部門名"].ToString() != "" ? dt.Rows[0]["現部門名"].ToString() : "－";
                lbl_パスポート番号.Text = dt.Rows[0]["パスポート番号"].ToString() != "" ? dt.Rows[0]["パスポート番号"].ToString() : "－";
                lbl_発行日.Text = dt.Rows[0]["発行日"].ToString().Length > 0 ? DateTime.Parse(dt.Rows[0]["発行日"].ToString()).ToString("yyyy年MM月dd日") : "－";
                lbl_有効期限.Text = dt.Rows[0]["有効期限"].ToString().Length > 0 ? DateTime.Parse(dt.Rows[0]["有効期限"].ToString()).ToString("yyyy年MM月dd日") : "－";
                lbl_外国人登録番号.Text = dt.Rows[0]["外国人登録番号"].ToString() != "" ? dt.Rows[0]["外国人登録番号"].ToString() : "－";
                lbl_在留期限.Text = dt.Rows[0]["在留期限"].ToString().Length > 0 ? DateTime.Parse(dt.Rows[0]["在留期限"].ToString()).ToString("yyyy年MM月dd日") : "－";
                lbl_査証申請地.Text = dt.Rows[0]["査証申請地"].ToString() != "" ? dt.Rows[0]["査証申請地"].ToString() : "－";
                lbl_血液型.Text = dt.Rows[0]["血液型名"].ToString() != "" ? dt.Rows[0]["血液型名"].ToString() : "－";
                if (dt.Rows[0]["最終学歴"].ToString() != "")
                {
                    try
                    {
                        int 最終学歴 = Int32.Parse(dt.Rows[0]["最終学歴"].ToString());
                        lbl_最終学歴.Text = dictionary[最終学歴].ToString();
                    }
                    catch (Exception)
                    {

                        lbl_最終学歴.Text = "－";
                    }                    

                }
                else
                {
                    lbl_最終学歴.Text = "－";
                }
                lbl_本国の連絡先.Text = dt.Rows[0]["住民票住所"].ToString() != "" ? dt.Rows[0]["住民票住所"].ToString() : "－";
                lbl_趣味.Text = dt.Rows[0]["趣味"].ToString() != "" ? dt.Rows[0]["趣味"].ToString() : "－";
                lbl_携帯番号1.Text = dt.Rows[0]["携帯番号"].ToString() != "" ? dt.Rows[0]["携帯番号"].ToString() : "－";
                if (dt.Rows[0]["実習生在留資格タイプ"] != null)
                    lbl_実習生在留資格タイプ.Text = dt.Rows[0]["実習生在留資格タイプ"].ToString() != "" ? Boolean.Parse(dt.Rows[0]["実習生在留資格タイプ"].ToString()) == true ? "企業単独" : "団体管理" : "－";
				if (dt.Rows[0]["Email"].ToString() != "")
				{
					hpl_Email.Text = dt.Rows[0]["Email"].ToString();
					hpl_Email.NavigateUrl = "mailto:" + dt.Rows[0]["Email"].ToString();
				}
				else { 
					hpl_Email.Text = "－";
				}
            } 
            else 
            {
                lbl_氏名.Text = "－";
                lbl_フリガナ.Text = "－";
                lbl_性別.Text = "－";
                lbl_国籍.Text = "－";
                lbl_生年月日.Text = "－";
                lbl_年齢.Text = "－";
                lbl_出生地.Text = "－";
                lbl_現資格.Text = "－";
                lbl_現部門名.Text = "－";
                lbl_パスポート番号.Text = "－";
                lbl_発行日.Text = "－";
                lbl_有効期限.Text = "－";
                lbl_外国人登録番号.Text = "－";
                lbl_在留期限.Text = "－";
                lbl_査証申請地.Text = "－";
                lbl_血液型.Text = "－";
                lbl_最終学歴.Text = "－";
                lbl_本国の連絡先.Text = "－";
                lbl_趣味.Text = "－";
                lbl_携帯番号1.Text = "－";
                lbl_実習生在留資格タイプ.Text = "－";
                hpl_Email.Text = "－";
            }
            #endregion

            #region VanHoat
            //Session["社員ID"] = "10";
            // Load data for Griview is 保有資格情報, with 保有資格情報 table
            this.LoadDataOf保有資格情報Partial();

            // ReSharper restore RedundantThisQualifier
            this.LoadDataOf会社履歴情報Partial();

            #endregion
        }
    }
    
    #region Code Hunglt
    public void LoadData職種職務情報(int 社員ID)
    {
        職種職務情報Manager frm = new 職種職務情報Manager();
        DataTable dt = frm.SelectData職種職務情報(社員ID);
        if (dt.Rows.Count > 0)
        {
            dt = CutString職種職務情報(dt);
            grv_職種職務.DataSource = dt;
            grv_職種職務.DataBind();
        }
        else
            AppCode_Common.ShowEmtyGrid<職種職務情報>(grv_職種職務, 9, "データがありません。", "");
    }
    protected void grv_職種職務_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = " + e.CommandArgument.ToString() + "');</script>");
        }
    }
    protected void grv_職種職務_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_職種職務.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData職種職務情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_職種職務')</script>");
    }
    public void LoadData資格情報(int 社員ID)
    {
        string[] arrStr = new string[12];
        string strNew = "";
        char[] splitter = { ' ' };

        資格情報Manager frm = new 資格情報Manager();
        DataTable dt = frm.SelectData資格情報(社員ID);

        if (dt.Rows.Count > 0)
        {
            dt.Columns.Add(new DataColumn("変更理由_Temp", typeof(System.String)));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["変更理由_Temp"] = dt.Rows[i]["変更理由"].ToString();

                if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == true && dt.Rows[i]["変更理由"].ToString().Length > 6)
                {
                    dt.Rows[i]["変更理由"] = dt.Rows[i]["変更理由"].ToString().Substring(0, 6) + "...";
                }
                else if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == false && dt.Rows[i]["変更理由"].ToString().Length > 11)
                {
                    arrStr = dt.Rows[i]["変更理由"].ToString().Split(splitter);
                    strNew = "";
                    for (int k = 0; k < arrStr.Length; k++)
                    {
                        if (strNew.Length > 11)
                        {
                            strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                            break;
                        }
                        strNew += arrStr[k] + " ";
                    }
                    dt.Rows[i]["変更理由"] = strNew;
                }

                if (dt.Rows[0]["資格"].ToString().Length == 0)
                    dt.Rows.RemoveAt(0);
            }

            grv_資格.DataSource = dt;
            grv_資格.DataBind();
            ViewState["Table資格"] = dt;

			if (grv_資格.Rows.Count == 0)
			{
				AppCode_Common.ShowEmtyGrid<資格情報>(grv_資格, 6, "データがありません。", "");
			}
        }
        else
            AppCode_Common.ShowEmtyGrid<資格情報>(grv_資格, 6, "データがありません。", "");
    }
    protected void grv_資格_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = "+e.CommandArgument.ToString()+"');</script>");
        }
    }
    protected void grv_資格_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_資格.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData資格情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_資格')</script>");
        //Panel pnlPopup_変更理由 = grv_資格.Parent.FindControl("pnlPopup_変更理由") as Panel;
        //pnlPopup_変更理由.Attributes.Add("Style", "background-color: red;");
    }
    public void LoadData所属情報(int 社員ID)
    {
		所属情報Manager frm = new 所属情報Manager();
		DataTable dt = frm.SelectData所属情報(社員ID);
		DataTable dt_所属1 = 所属1Table(dt);
		DataTable dt_所属2 = 所属2Table(dt);
		DataTable dt_所属3 = 所属3Table(dt);
		DataTable dt_所属4 = 所属4Table(dt);
		DataView dv_所属1 = new DataView(CutString(dt_所属1));
		DataView dv_所属2 = new DataView(CutString(dt_所属2));
		DataView dv_所属3 = new DataView(CutString(dt_所属3));
		DataView dv_所属4 = new DataView(CutString(dt_所属4));
		if (dt.Rows.Count > 0)
		{
			dv_所属1.Sort = "部門コード" + ASCENDING;
			grv_所属1.DataSource = dv_所属1;
			grv_所属1.DataBind();
			if (grv_所属1.Rows.Count == 0)
				AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属1, 9, "データがありません。", "");

			dv_所属2.Sort = "勤務地コード" + ASCENDING;
			grv_所属2.DataSource = dv_所属2;
			grv_所属2.DataBind();
			if (grv_所属2.Rows.Count == 0)
				AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属2, 7, "データがありません。", "");

			dv_所属3.Sort = "役職コード" + ASCENDING;
			grv_所属3.DataSource = dv_所属3;
			grv_所属3.DataBind();
			if (grv_所属3.Rows.Count == 0)
				AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属3, 7, "データがありません。", "");

			dv_所属4.Sort = "組織コード" + ASCENDING;
			grv_所属4.DataSource = dv_所属4;
			grv_所属4.DataBind();
			if (grv_所属4.Rows.Count == 0)
				AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属4, 7, "データがありません。", "");
		}
		else
		{
			AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属1, 9, "データがありません。", "");
			AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属2, 7, "データがありません。", "");
			AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属3, 7, "データがありません。", "");
			AppCode_Common.ShowEmtyGrid<所属情報>(grv_所属4, 7, "データがありません。", "");
		}
    }
	private DataTable 所属1Table(DataTable dt_所属1)
	{
		DataTable dt = new DataTable();
		DataColumn col;
		DataRow row;
		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "部門コード";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "部門名";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "部門英語名";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "部門略称";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "変更理由";
		dt.Columns.Add(col);

		for (int i = 0; i < dt_所属1.Rows.Count; i++)
		{
			//if (dt_所属1.Rows[i]["部門コード"].ToString() != "")
			//{
				row = dt.NewRow();
				row["部門コード"] = dt_所属1.Rows[i]["部門コード"].ToString();
				row["部門名"] = dt_所属1.Rows[i]["部門名"].ToString();
				row["部門英語名"] = dt_所属1.Rows[i]["部門英語名"].ToString();
				row["部門略称"] = dt_所属1.Rows[i]["部門略称"].ToString();
				row["発令開始日"] = dt_所属1.Rows[i]["発令開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属1.Rows[i]["発令開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際開始日"] = dt_所属1.Rows[i]["実際開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属1.Rows[i]["実際開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["発令終了日"] = dt_所属1.Rows[i]["発令終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属1.Rows[i]["発令終了日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際終了日"] = dt_所属1.Rows[i]["実際終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属1.Rows[i]["実際終了日"].ToString()).ToString("yyyy年MM月dd日") : ""; 
				row["変更理由"] = dt_所属1.Rows[i]["変更理由"].ToString();
				dt.Rows.Add(row);
			//}
		}
		return dt;
	}
	private DataTable 所属2Table(DataTable dt_所属2)
	{
		DataTable dt = new DataTable();
		DataColumn col;
		DataRow row;
		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "勤務地コード";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "勤務地";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "変更理由";
		dt.Columns.Add(col);

		for (int i = 0; i < dt_所属2.Rows.Count; i++)
		{
			//if (dt_所属2.Rows[i]["勤務地コード"].ToString() != "")
			//{
				row = dt.NewRow();
				row["勤務地コード"] = dt_所属2.Rows[i]["勤務地コード"].ToString();
				row["勤務地"] = dt_所属2.Rows[i]["勤務地"].ToString();
				row["発令開始日"] = dt_所属2.Rows[i]["発令開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属2.Rows[i]["発令開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際開始日"] = dt_所属2.Rows[i]["実際開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属2.Rows[i]["実際開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["発令終了日"] = dt_所属2.Rows[i]["発令終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属2.Rows[i]["発令終了日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際終了日"] = dt_所属2.Rows[i]["実際終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属2.Rows[i]["実際終了日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["変更理由"] = dt_所属2.Rows[i]["変更理由"].ToString();
				dt.Rows.Add(row);
			//}
		}
		return dt;
	}
	private DataTable 所属3Table(DataTable dt_所属3)
	{
		DataTable dt = new DataTable();
		DataColumn col;
		DataRow row;
		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "役職コード";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "役職";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "変更理由";
		dt.Columns.Add(col);

		for (int i = 0; i < dt_所属3.Rows.Count; i++)
		{
			//if (dt_所属3.Rows[i]["役職コード"].ToString() != "")
			//{
				row = dt.NewRow();
				row["役職コード"] = dt_所属3.Rows[i]["役職コード"].ToString();
				row["役職"] = dt_所属3.Rows[i]["役職"].ToString();
				row["発令開始日"] = dt_所属3.Rows[i]["発令開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属3.Rows[i]["発令開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際開始日"] = dt_所属3.Rows[i]["実際開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属3.Rows[i]["実際開始日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["発令終了日"] = dt_所属3.Rows[i]["発令終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属3.Rows[i]["発令終了日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["実際終了日"] = dt_所属3.Rows[i]["実際終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属3.Rows[i]["実際終了日"].ToString()).ToString("yyyy年MM月dd日") : "";
				row["変更理由"] = dt_所属3.Rows[i]["変更理由"].ToString();
				dt.Rows.Add(row);
			//}
		}
		return dt;
	}
	private DataTable 所属4Table(DataTable dt_所属4)
	{
		DataTable dt = new DataTable();
		DataColumn col;
		DataRow row;
		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "組織コード";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "組織タイプ";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際開始日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "発令終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "実際終了日";
		dt.Columns.Add(col);

		col = new DataColumn();
		col.DataType = System.Type.GetType("System.String");
		col.ColumnName = "変更理由";
		dt.Columns.Add(col);

		for (int i = 0; i < dt_所属4.Rows.Count; i++)
		{
			//if (dt_所属4.Rows[i]["組織コード"].ToString() != "")
			//{
				row = dt.NewRow();
				row["組織コード"] = dt_所属4.Rows[i]["組織コード"].ToString();
				row["組織タイプ"] = dt_所属4.Rows[i]["組織タイプ"].ToString();
				row["発令開始日"] = dt_所属4.Rows[i]["発令開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属4.Rows[i]["発令開始日"].ToString()).ToString("yyyy年MM月dd日") : ""; ;
				row["実際開始日"] = dt_所属4.Rows[i]["実際開始日"].ToString().Length > 0 ? DateTime.Parse(dt_所属4.Rows[i]["実際開始日"].ToString()).ToString("yyyy年MM月dd日") : ""; ;
				row["発令終了日"] = dt_所属4.Rows[i]["発令終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属4.Rows[i]["発令終了日"].ToString()).ToString("yyyy年MM月dd日") : ""; ;
				row["実際終了日"] = dt_所属4.Rows[i]["実際終了日"].ToString().Length > 0 ? DateTime.Parse(dt_所属4.Rows[i]["実際終了日"].ToString()).ToString("yyyy年MM月dd日") : ""; ;
				row["変更理由"] = dt_所属4.Rows[i]["変更理由"].ToString();
				dt.Rows.Add(row);
			//}
		}
		return dt;
	}
    protected void grv_所属1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = " + e.CommandArgument.ToString() + "');</script>");
        }
    }
    protected void grv_所属3_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = " + e.CommandArgument.ToString() + "');</script>");
        }
    }
    protected void grv_所属2_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = " + e.CommandArgument.ToString() + "');</script>");
        }
    }
    protected void grv_所属4_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "SELECT")
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('Nhay trang khac voi ID = " + e.CommandArgument.ToString() + "');</script>");
        }
    }
    protected void grv_所属1_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_所属1.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData所属情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_所属')</script>");
    }
    protected void grv_所属2_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_所属2.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData所属情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_所属')</script>");
    }
    protected void grv_所属3_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_所属3.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData所属情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_所属')</script>");
    }
    protected void grv_所属4_SelectedIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_所属4.PageIndex = e.NewPageIndex;
        int 社員ID = Int32.Parse(Session["社員ID"].ToString());
        LoadData所属情報(社員ID);
        Page.ClientScript.RegisterStartupScript(this.GetType(), "displayDiv", "<script type=\"text/javascript\">ShowDivByLinkClick('div_所属')</script>");
    }
    protected bool checkUnicode(string strText)
    {
        const double hannessThreshold = 0.25d;
        const char lowestHanCodepoint = '\u4E00';
        const char highestHanCodepoint = '\u9FFF';
        int hanCharacterCount = 0;
        foreach (char c in strText)
            if (lowestHanCodepoint <= c && c <= highestHanCodepoint)
                hanCharacterCount++;
        double hannessScore = (double)hanCharacterCount / strText.Length;
        if (hannessScore >= hannessThreshold)
            return true;
        else
            return false;
    }
    protected DataTable CutString(DataTable dt)
    {
		string[] arrStr = new string[12];
		string strNew = "";
		char[] splitter = { ' ' };

		dt.Columns.Add(new DataColumn("部門名_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("部門英語名_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("部門略称_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("変更理由_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("勤務地_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("役職_Temp", typeof(System.String)));
		dt.Columns.Add(new DataColumn("組織タイプ_Temp", typeof(System.String)));

		//if(dt.Rows.Count > 0)
		//{
		for (int i = 0; i < dt.Rows.Count; i++)
		{
			// column 部門名
			if (dt.Columns["部門名"] != null)
			{
				dt.Rows[i]["部門名_Temp"] = dt.Rows[i]["部門名"].ToString();

				if (checkUnicode(dt.Rows[i]["部門名"].ToString()) == true && dt.Rows[i]["部門名"].ToString().Length > 13)
				{
					dt.Rows[i]["部門名"] = dt.Rows[i]["部門名"].ToString().Substring(0, 13) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["部門名"].ToString()) == false && dt.Rows[i]["部門名"].ToString().Length > 30)
				{
					arrStr = dt.Rows[i]["部門名"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 24)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["部門名"] = strNew;
				}
			}

			// column 変更理由
			if (dt.Columns["変更理由"] != null)
			{
				dt.Rows[i]["変更理由_Temp"] = dt.Rows[i]["変更理由"].ToString();

				if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == true && dt.Rows[i]["変更理由"].ToString().Length > 13)
				{
					dt.Rows[i]["変更理由"] = dt.Rows[i]["変更理由"].ToString().Substring(0, 13) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == false && dt.Rows[i]["変更理由"].ToString().Length > 30)
				{
					arrStr = dt.Rows[i]["変更理由"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 24)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["変更理由"] = strNew;
				}
			}

			// column 部門英語名
			if (dt.Columns["部門英語名"] != null)
			{
				dt.Rows[i]["部門英語名_Temp"] = dt.Rows[i]["部門英語名"].ToString();

				if (checkUnicode(dt.Rows[i]["部門英語名"].ToString()) == true && dt.Rows[i]["部門英語名"].ToString().Length > 6)
				{
					dt.Rows[i]["部門英語名"] = dt.Rows[i]["部門英語名"].ToString().Substring(0, 6) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["部門英語名"].ToString()) == false && dt.Rows[i]["部門英語名"].ToString().Length > 12)
				{
					arrStr = dt.Rows[i]["部門英語名"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 12)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["部門英語名"] = strNew;
				}
			}

			// column 部門略称
			if (dt.Columns["部門略称"] != null)
			{
				dt.Rows[i]["部門略称_Temp"] = dt.Rows[i]["部門略称"].ToString();

				if (checkUnicode(dt.Rows[i]["部門略称"].ToString()) == true && dt.Rows[i]["部門略称"].ToString().Length > 6)
				{
					dt.Rows[i]["部門略称"] = dt.Rows[i]["部門略称"].ToString().Substring(0, 6) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["部門略称"].ToString()) == false && dt.Rows[i]["部門略称"].ToString().Length > 12)
				{
					arrStr = dt.Rows[i]["部門略称"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 12)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["部門略称"] = strNew;
				}
			}

			// column 勤務地
			if (dt.Columns["勤務地"] != null)
			{
				dt.Rows[i]["勤務地_Temp"] = dt.Rows[i]["勤務地"].ToString();

				if (checkUnicode(dt.Rows[i]["勤務地"].ToString()) == true && dt.Rows[i]["勤務地"].ToString().Length > 12)
				{
					dt.Rows[i]["勤務地"] = dt.Rows[i]["勤務地"].ToString().Substring(0, 12) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["勤務地"].ToString()) == false && dt.Rows[i]["勤務地"].ToString().Length > 30)
				{
					arrStr = dt.Rows[i]["勤務地"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 24)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["勤務地"] = strNew;
				}
			}

			// column 役職
			if (dt.Columns["役職"] != null)
			{
				dt.Rows[i]["役職_Temp"] = dt.Rows[i]["役職"].ToString();

				if (checkUnicode(dt.Rows[i]["役職"].ToString()) == true && dt.Rows[i]["役職"].ToString().Length > 12)
				{
					dt.Rows[i]["役職"] = dt.Rows[i]["役職"].ToString().Substring(0, 14) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["役職"].ToString()) == false && dt.Rows[i]["役職"].ToString().Length > 30)
				{
					arrStr = dt.Rows[i]["役職"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 24)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["役職"] = strNew;
				}
			}

			//column 組織タイプ
			if (dt.Columns["組織タイプ"] != null)
			{
				dt.Rows[i]["組織タイプ_Temp"] = dt.Rows[i]["組織タイプ"].ToString();

				if (checkUnicode(dt.Rows[i]["組織タイプ"].ToString()) == true && dt.Rows[i]["組織タイプ"].ToString().Length > 12)
				{
					dt.Rows[i]["組織タイプ"] = dt.Rows[i]["組織タイプ"].ToString().Substring(0, 14) + "...";
				}
				else if (checkUnicode(dt.Rows[i]["組織タイプ"].ToString()) == false && dt.Rows[i]["組織タイプ"].ToString().Length > 30)
				{
					arrStr = dt.Rows[i]["組織タイプ"].ToString().Split(splitter);
					strNew = "";
					for (int k = 0; k < arrStr.Length; k++)
					{
						if (strNew.Length > 24)
						{
							strNew = strNew.Substring(0, strNew.Length - 1) + "...";
							break;
						}
						strNew += arrStr[k] + " ";
					}
					dt.Rows[i]["組織タイプ"] = strNew;
				}
			}
			//}
		}
		return dt;
    }
    protected DataTable CutString職種職務情報(DataTable dt)
    {
        string[] arrStr = new string[12];
        string strNew = "";
        char[] splitter = { ' ' };

        dt.Columns.Add(new DataColumn("職種_Temp", typeof(System.String)));
        dt.Columns.Add(new DataColumn("職務_Temp", typeof(System.String)));
        dt.Columns.Add(new DataColumn("変更理由_Temp", typeof(System.String)));
        dt.Columns.Add(new DataColumn("立場_Temp", typeof(System.String)));
        dt.Columns.Add(new DataColumn("具体的業務内容_Temp", typeof(System.String)));

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            // column 職種
            dt.Rows[i]["職種_Temp"] = dt.Rows[i]["職種"].ToString();

            if (checkUnicode(dt.Rows[i]["職種"].ToString()) == true && dt.Rows[i]["職種"].ToString().Length > 13)
            {
                dt.Rows[i]["職種"] = dt.Rows[i]["職種"].ToString().Substring(0, 11) + "...";
            }
            else if (checkUnicode(dt.Rows[i]["職種"].ToString()) == false && dt.Rows[i]["職種"].ToString().Length > 30)
            {
                arrStr = dt.Rows[i]["職種"].ToString().Split(splitter);
                strNew = "";
                for (int k = 0; k < arrStr.Length; k++)
                {
                    if (strNew.Length > 24)
                    {
                        strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                        break;
                    }
                    strNew += arrStr[k] + " ";
                }
                dt.Rows[i]["職種"] = strNew;
            }

            // column 職務
            dt.Rows[i]["職務_Temp"] = dt.Rows[i]["職務"].ToString();

            if (checkUnicode(dt.Rows[i]["職務"].ToString()) == true && dt.Rows[i]["職務"].ToString().Length > 13)
            {
                dt.Rows[i]["職務"] = dt.Rows[i]["職務"].ToString().Substring(0, 11) + "...";
            }
            else if (checkUnicode(dt.Rows[i]["職務"].ToString()) == false && dt.Rows[i]["職務"].ToString().Length > 30)
            {
                arrStr = dt.Rows[i]["職務"].ToString().Split(splitter);
                strNew = "";
                for (int k = 0; k < arrStr.Length; k++)
                {
                    if (strNew.Length > 24)
                    {
                        strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                        break;
                    }
                    strNew += arrStr[k] + " ";
                }
                dt.Rows[i]["職務"] = strNew;
            }

            // column 変更理由
            dt.Rows[i]["変更理由_Temp"] = dt.Rows[i]["変更理由"].ToString();

            if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == true && dt.Rows[i]["変更理由"].ToString().Length > 13)
            {
                dt.Rows[i]["変更理由"] = dt.Rows[i]["変更理由"].ToString().Substring(0, 13) + "...";
            }
            else if (checkUnicode(dt.Rows[i]["変更理由"].ToString()) == false && dt.Rows[i]["変更理由"].ToString().Length > 30)
            {
                arrStr = dt.Rows[i]["変更理由"].ToString().Split(splitter);
                strNew = "";
                for (int k = 0; k < arrStr.Length; k++)
                {
                    if (strNew.Length > 24)
                    {
                        strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                        break;
                    }
                    strNew += arrStr[k] + " ";
                }
                dt.Rows[i]["変更理由"] = strNew;
            }

            // column 立場
            dt.Rows[i]["立場_Temp"] = dt.Rows[i]["立場"].ToString();

            if (checkUnicode(dt.Rows[i]["立場"].ToString()) == true && dt.Rows[i]["立場"].ToString().Length > 13)
            {
                dt.Rows[i]["立場"] = dt.Rows[i]["立場"].ToString().Substring(0, 13) + "...";
            }
            else if (checkUnicode(dt.Rows[i]["立場"].ToString()) == false && dt.Rows[i]["立場"].ToString().Length > 30)
            {
                arrStr = dt.Rows[i]["立場"].ToString().Split(splitter);
                strNew = "";
                for (int k = 0; k < arrStr.Length; k++)
                {
                    if (strNew.Length > 24)
                    {
                        strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                        break;
                    }
                    strNew += arrStr[k] + " ";
                }
                dt.Rows[i]["立場"] = strNew;
            }

            // column 具体的業務内容
            dt.Rows[i]["具体的業務内容_Temp"] = dt.Rows[i]["具体的業務内容"].ToString();

            if (checkUnicode(dt.Rows[i]["具体的業務内容"].ToString()) == true && dt.Rows[i]["具体的業務内容"].ToString().Length > 13)
            {
                dt.Rows[i]["具体的業務内容"] = dt.Rows[i]["具体的業務内容"].ToString().Substring(0, 13) + "...";
            }
            else if (checkUnicode(dt.Rows[i]["具体的業務内容"].ToString()) == false && dt.Rows[i]["具体的業務内容"].ToString().Length > 30)
            {
                arrStr = dt.Rows[i]["具体的業務内容"].ToString().Split(splitter);
                strNew = "";
                for (int k = 0; k < arrStr.Length; k++)
                {
                    if (strNew.Length > 24)
                    {
                        strNew = strNew.Substring(0, strNew.Length - 1) + "...";
                        break;
                    }
                    strNew += arrStr[k] + " ";
                }
                dt.Rows[i]["具体的業務内容"] = strNew;
            }
        }
        return dt;
    }
    #endregion



    #region VanHoat

    protected void grv_保有資格_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_保有資格.PageIndex = e.NewPageIndex;
        this.LoadDataOf保有資格情報Partial();
        grv_保有資格.DataBind();
    }


    protected void grv_会社履歴_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_会社履歴.PageIndex = e.NewPageIndex;
        this.LoadDataOf会社履歴情報Partial();
        grv_会社履歴.DataBind();
    }


    private void LoadDataOf保有資格情報Partial()
    {

        if (Session["社員ID"].ToString() != "")
        {
            string strId = Session["社員ID"].ToString();

            DataTable lst = new 保有資格情報Manager().SelectPartial保有資格情報(strId);

            if (lst.Rows.Count == 0)
            {
                AppCode_Common.ShowEmtyGrid<保有資格情報>(grv_保有資格, 5, "データがありません。", "");
            }
            else
            {
                grv_保有資格.DataSource = lst;
                grv_保有資格.DataBind();
            }
        }
    }

    private void LoadDataOf会社履歴情報Partial()
    {
        if (Session["社員ID"].ToString() != "")
        {
            string id = Session["社員ID"].ToString();

            DataTable dt = new 会社履歴情報Manager().SelectPartial_12(id);
            if (dt.Rows.Count > 0)
            {
                grv_会社履歴.DataSource = dt;
                grv_会社履歴.DataBind();
            }
            else
            {
                string strHeader = "会社名,部門名,仕事内容,経歴職歴,主な実績,開始年月日,終了年月日";
                //AppCode_Common.ShowEmtyGrid<会社履歴情報>(grv_会社履歴, 7, "データがありません。", "");
                ShowGridViewNotClassEmpty(grv_会社履歴, strHeader, "データがありません。");
            }
        }
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Xu ly hien thi chuoi dai len GridView
    /// </summary>
    public string MySubstring(object str)
    {
        if (str == null || str.ToString() == "")
            return "";
        string temp = str.ToString();
        if (checkContainsUnicodeCharacter(temp))
        {
            //true tieng nhat
            if (temp.Length > 10)
            {
                temp = temp.Substring(0, 10) + "...";
            }
        }
        else
        {
            //tieng viet
            if (temp.Length > 20)
            {
                temp = temp.Substring(0, 20) + "...";
            }
        }

        return temp;
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Kiem tra chuoi dau vao co thuoc bang ma Unicode
    /// </summary>
    public bool checkContainsUnicodeCharacter(string input)
    {
        const int MaxAnsiCode = 255;
        char[] a = input.ToCharArray();
        for (int i = 0; i < a.Length; i++)
        {
            if (a[i] > MaxAnsiCode)
            {
                return true;
            }
        }
        return false;
    }

    /*private string ConvertSortDirectionToSql(SortDirection sortDirection)
    {
        string newSortDirection = String.Empty;

        switch (sortDirection)
        {
            case SortDirection.Ascending:
                newSortDirection = "ASC";
                break;

            case SortDirection.Descending:
                newSortDirection = "DESC";
                break;
        }

        return newSortDirection;
    }
    //<%--OnSorting="grv_保有資格_Sorting"--%>
    protected void grv_保有資格_Sorting(object sender, GridViewSortEventArgs e)
    {
        var dataTable = (DataTable)grv_保有資格.DataSource; //as DataTable;

        if (dataTable == null) return;
        var dataView = new DataView(dataTable)
                           {
                               Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection)
                                 
                           };

        grv_保有資格.DataSource = dataView;
        grv_保有資格.DataBind();
    }


    //protected void grv_保有資格_RowCreated(object sender, GridViewRowEventArgs e)
    //{
    //    //if (e.Row.RowType == DataControlRowType.DataRow)
    //    //{
    //    //    PopupControlExtender pce = e.Row.FindControl("PopupControlExtender1") as PopupControlExtender;

    //    //    string behaviorID = "pce_" + e.Row.RowIndex;
    //    //    pce.BehaviorID = behaviorID;

    //    //    string h= pce.DynamicContextKey.ToString();
           
    //    //    // Label img = (Label)e.Row.FindControl("lbl資格免許名_1");

    //    //    //string OnMouseOverScript = string.Format("$find('{0}').showPopup();", behaviorID);
    //    //    //string OnMouseOutScript = string.Format("$find('{0}').hidePopup();", behaviorID);

    //    //    //img.Attributes.Add("onmouseover", OnMouseOverScript);
    //    //    //img.Attributes.Add("onmouseout", OnMouseOutScript);
    //    //}
    //}
    */


    /// <summary>
    /// Hien thi du lieu rong cho Gridview
    /// </summary>
    /// <param name="grv"></param>
    /// <param name="strTableHeader"></param>
    /// <param name="strEmpty"></param>
    public void ShowGridViewNotClassEmpty(GridView grv, string strTableHeader, string strEmpty)
    {
        DataTable dt = new DataTable();
        string[] arrColumnNames = strTableHeader.Split(',');
        foreach (string str in arrColumnNames)
        {
            dt.Columns.Add(str);
        }
        grv.ShowFooter = false;
        DataRow r = dt.NewRow();
        dt.Rows.InsertAt(r, 0);
        grv.DataSource = dt;
        grv.DataBind();
        grv.Rows[0].Cells.Clear();
        TableCell cell = new TableCell();
        cell.ColumnSpan = grv.Columns.Count + 1;
        cell.Text = strEmpty;
        grv.Rows[0].Cells.Add(cell);

    }

    #endregion
}
